package com.gao.map;

import java.util.HashMap;
import java.util.Map;
import java.util.TreeMap;
import java.util.function.BiConsumer;

/**
 * @Author: ShanYuqing
 * @Version: v1.0
 */
public class MapTest1 {
    /*
                需求：字符串aabsjajaaaewbcs
                输出结果：a(5)b(4)......
     */
    public static void main(String[] args) {
        String s= "aabaabcdcc";
        char[] charArray = s.toCharArray();
        //准备map集合，用于统计字符的次数
        Map<Character,Integer> map = new TreeMap<>();
        //遍历字符数组，获取每一个字符
        for (char c : charArray) {
            if (!map.containsKey(c)) {
                //不存在，说明第一次出现
                map.put(c,1);
            } else {
                //存在，说明不是第一次出现，获取旧值+1存回去
                map.put(c, map.get(c)+1);
            }
        }
        //准备StringBuilder
        StringBuilder stringBuilder = new StringBuilder();
        map.forEach(new BiConsumer<Character, Integer>() {
            @Override
            public void accept(Character key , Integer value) {
                stringBuilder.append(key).append("(").append(value).append(")");
            }
        });
        System.out.println(stringBuilder);
    }
}
